1.起因:工作中对接平台需要将设备的GPS数据传给平台,但是平台采用的不是回调函数将数据直接作为参数返回而是格式化的字符串命令,所以需要将double类型的gps数据格式化输出到字符串中,项目中之前采用的是sprintf进行格式化输出,但是通过打印对比发现有精度损失,所以改成先放大数据1000000倍(数据有6位小数),然后整数部分通过做除法获得,小数部分通过取模运算获得。voidreport_gps_info(doublelon,doublelat){//somecodessprintf(gpsinfo,"%.6lf&%.6lf",lat,lon);//somecodes}↓voidrepo
1.起因:工作中对接平台需要将设备的GPS数据传给平台,但是平台采用的不是回调函数将数据直接作为参数返回而是格式化的字符串命令,所以需要将double类型的gps数据格式化输出到字符串中,项目中之前采用的是sprintf进行格式化输出,但是通过打印对比发现有精度损失,所以改成先放大数据1000000倍(数据有6位小数),然后整数部分通过做除法获得,小数部分通过取模运算获得。voidreport_gps_info(doublelon,doublelat){//somecodessprintf(gpsinfo,"%.6lf&%.6lf",lat,lon);//somecodes}↓voidrepo